package com.sunyard.manage.service;

import com.sunyard.dal.bo.PaginationBO;
import com.sunyard.dal.bo.task.TaskScenarioAddBO;
import com.sunyard.dal.bo.task.TaskScenarioBO;
import com.sunyard.dal.bo.task.TaskScenarioUpdateBO;
import com.sunyard.dal.bo.task.TaskScenarioUpdateDetailBO;
import com.sunyard.dal.dto.taskscenario.TaskScenarioDTO;
import com.sunyard.dal.dto.taskscenario.TaskScenarioNameDTO;
import com.sunyard.utils.Response.BaseResult;
import com.sunyard.utils.manage.DataGrid;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author jimin.duan
 * @Description TODO
 * @createTime 2022年06月24日 11:06:00
 */
public interface TaskScenarioService {

    /**
     * 查询任务场景
     */

    BaseResult<DataGrid<TaskScenarioDTO>> findTaskScenario(PaginationBO<TaskScenarioBO> taskScenarioBO, HttpServletRequest request) throws Exception;

    /**
     * 添加任务场景
     */

    BaseResult addTaskScenario(TaskScenarioAddBO taskScenarioAddBO);

    /**
     * 修改任务场景状态（包括 删除与启动 停用）
     */
    BaseResult updateTaskScenario(TaskScenarioUpdateBO taskScenarioUpdateBO);

    /**
     * @description 更新任务场景
     * @author tsz
     * @date 2022/12/16
     * @param taskScenarioUpdateDetailBO
     * @return BaseResult
     * @throws
    */
    BaseResult updateTaskScenarioDetail(TaskScenarioUpdateDetailBO taskScenarioUpdateDetailBO);

    /**
     * @description TODO
     * @author tsz
     * @date 2022/12/16
     * @param 
     * @return BaseResult<List<TaskScenarioNameDTO>> 
     * @throws 
    */
    BaseResult<List<TaskScenarioNameDTO>> selectAllName();

    /**
     * @description 批量更新状态
     * @author tsz
     * @date 2022/12/16
     * @param updateBOList
     * @return BaseResult
     * @throws
    */
    BaseResult batchUpdateState(List<TaskScenarioUpdateBO> updateBOList);

}
